package com.chinazyjr.framework.common.model.autoModel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 投资人VO
 */
public class InvesterVo implements Serializable {

    //投资人id
    private String InvesterId;

    //投资人可用余额
    private BigDecimal balanceMoney = BigDecimal.ZERO;

    //自动投资单笔最小金额
    private BigDecimal minMoney = BigDecimal.ZERO;

    //自动投资单笔最大金额
    private BigDecimal maxMoney = BigDecimal.ZERO;

    //分配到的标的id对用分配到的金额
    private Map<String,BigDecimal> fenDao;

    //(断点续传)标志位
    private int flag = 0;

    //授权可投标的类型
    private Byte myProType;

    //授权可投标的期限(统一转化为 天 )<最小值,最大值>
    private Map<Integer,Integer> limitDays=new HashMap<>();

    //本次使用红包/加息券id
    private String couponId;

    public InvesterVo() {
    }

    public String getInvesterId() {
        return InvesterId;
    }

    public void setInvesterId(String investerId) {
        InvesterId = investerId;
    }

    public BigDecimal getBalanceMoney() {
        return balanceMoney;
    }

    public void setBalanceMoney(BigDecimal balanceMoney) {
        this.balanceMoney = balanceMoney;
    }

    /**
     * key 分配到的标的id
     * value 分配到的投资金额
     * @return
     */
    public Map<String, BigDecimal> getFenDao() {
        return fenDao;
    }

    public void setFenDao(Map<String, BigDecimal> fenDao) {
        this.fenDao = fenDao;
    }

    public int getFlag() {
        return flag;
    }

    public void setFlag(int flag) {
        this.flag = flag;
    }

    public BigDecimal getMinMoney() {
        return minMoney;
    }

    public void setMinMoney(BigDecimal minMoney) {
        this.minMoney = minMoney;
    }

    public BigDecimal getMaxMoney() {
        return maxMoney;
    }

    public void setMaxMoney(BigDecimal maxMoney) {
        this.maxMoney = maxMoney;
    }

    public String getCouponId() {
        return couponId;
    }

    public void setCouponId(String couponId) {
        this.couponId = couponId;
    }

    public Map<Integer, Integer> getLimitDays() {
        if(limitDays==null){
            limitDays=new HashMap<>();
            limitDays.put(0,10000);
        }
        return limitDays;
    }

    public void setLimitDays(Map<Integer, Integer> limitDays) {
        this.limitDays = limitDays;
    }

    public Byte getMyProType() {
        if(myProType==null){
            myProType=0;
        }
        return myProType;
    }

    public void setMyProType(Byte myProType) {
        this.myProType = myProType;
    }
}
